package com.yunji.base.dao;

import com.yunji.base.bo.BelongAmountModifyBO;
import com.yunji.base.bo.BelongSelectQueryBO;
import com.yunji.base.domain.BelongDO;
import com.yunji.base.params.BelongPageParam;
import com.yunji.base.params.BelongSearchParam;
import com.yunji.common.base.IBaseDao;

import java.util.List;

/**
 * @Project: yunji-coffee
 * @Package: com.yunji.user.dao
 * @Title: BelongDao
 * <p>
 * History:
 * Date                     Version     Author          Summary
 * ============================================================
 * 2024-10-23 16:50:34      V1.0        HuaAo       新建类
 */

public interface IBelongDao extends IBaseDao<BelongDO> {

    Integer selectStockStatus(Long belongId);

    List<BelongDO> listByAgentIds(String roleType, List<Long> agentIds);

    List<BelongDO> listByAgentIds(String roleType, Long agentId);

    List<BelongDO> listByPid(String roleType, Long pid);

    List<BelongDO> listById(String roleType, Long belongId);

    BelongDO getBySiteId(String roleType, Long siteId);

    BelongDO getByAgentId(String roleType, Long agentId);

    List<Long> getSiteIdsById(Long belongId);

    List<BelongDO> getByBelongType(String belongType);

   List<BelongDO> search(BelongPageParam belong);

    List<BelongDO> getByScaleType(Integer scaleType);

    List<String> searchTableField(BelongSearchParam param);

    boolean updateAccount(BelongAmountModifyBO belong);

    BelongDO select(BelongSelectQueryBO bo);
}